class Solution {
public:
    int rob(vector<int>& nums) {
        if(nums.size()==0){
            return 0;
        }
        if(nums.size()==1){
            return nums[0];
        }
        if(nums.size()==2){
            return nums[0]>nums[1]?nums[0]:nums[1];
        }
        int max_i=0;
        int max_i_1=nums[1]>nums[0]?nums[1]:nums[0];
        int max_i_2=nums[0];
        for(int i=2;i<nums.size();i++){
            max_i=max_i_1>max_i_2+nums[i]?max_i_1:max_i_2+nums[i];
            max_i_2=max_i_1;
            max_i_1=max_i;
        }
        return max_i;
    }
};

/*
2 1 1 3 2 1 3 4
*/